// 接收请求
const http = require("http");
const url = require("url");

// req ==> IncomingMessage 请求对象
// res ==> ServerResponse 响应对象
// const app = http.createServer((req, res) => {
//     console.log('有请求进来')
// })

// 或
const app = http.createServer()
app.on('request', (req, res) => {
    console.log('有请求进来')
    console.log('请求地址：', req.url)
    const urlObj = url.parse(req.url)
    console.log('请求路径消息：', urlObj)

    // 请求体要到流里面读取，因为上传的内容可能很多 如文件
    let body = "";
    req.on('data', chunk => {
        console.log('chunk', chunk)
        body += chunk.toString('utf-8')
    })

    req.on('end', () => {
        // 读取完成
        console.log('请求体：', body)

        // 设置响应码
        res.statusCode = 404

        // 设置响应头
        res.setHeader('Content-Type', 'text/plain')

        // 响应 向流里面写入 响应内容
        res.write('响应内容')
        // 断开链接
        res.end()
    })
})

// 监听端口
app.listen(3005)
app.on("listening", () => {
    console.log('端口监听成功， 服务启动成功')
})
// 或
// app.listen(3005, () => console.log('服务启动成功'))